package com.excesys.exsecs.energy.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.excesys.exsecs.common.excel.annotation.ExcelLine;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 能耗异常流水表
 *
 * @author lxc
 * @date 2024-03-19 16:31:56
 */
@Data
@TableName("bum_power_exception_flow")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "能耗异常流水表")
@ColumnWidth(30)
public class PowerExceptionFlow extends Model<PowerExceptionFlow> {


	/**
	* 主键id
	*/
    @TableId(type = IdType.AUTO)
    @Schema(description="主键id")
	@ExcelLine
	@ExcelIgnore
    private Long id;

	/**
	* 设备位置编码
	*/
    @Schema(description="设备位置编码")
	@ExcelProperty("设备位置编码")
    private String unitNo;

	/**
	 * 表计名称
	 */
	@Schema(description="表计名称")
	@TableField(exist = false)
	@ExcelProperty("表计名称")
	private String unitName;

	/**
	* 设备编号
	*/
    @Schema(description="设备编号")
	@ExcelIgnore
    private String deviceNo;

	/**
	* 记录时间点，应是整点
	*/
    @Schema(description="记录时间点，应是整点")
	@ExcelProperty("发生时间")
    private LocalDateTime timeValue;

	/**
	* 分区时间值 202206 202207
	*/
    @Schema(description="分区时间值 202206 202207")
	@ExcelIgnore
    private Integer timePartition;

	/**
	* 当前表计能耗
	*/
    @Schema(description="当前表计能耗")
	@ExcelProperty("异常值")
    private Float meterValue;

	/**
	* 总能耗
	*/
    @Schema(description="总能耗")
	@ExcelIgnore
    private Float totalValue;

	/**
	 * 开始时间
	 */
	@Schema(description="开始时间")
	@TableField(exist = false)
	@ExcelIgnore
	private String startTime;

	/**
	 * 结束时间
	 */
	@Schema(description="结束时间")
	@TableField(exist = false)
	@ExcelIgnore
	private String endTime;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
	@ExcelIgnore
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
	@ExcelIgnore
    private LocalDateTime createTime;

	/**
	* 更新人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="更新人")
	@ExcelIgnore
    private String updateBy;

	/**
	* 更新时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="更新时间")
	@ExcelIgnore
    private LocalDateTime updateTime;
}